<?
//--- valido la sesion
//error_reporting(E_ERROR);
session_start();
if(!isset($_SESSION["SESSION_codUsuario"])){
    echo json_encode(array("ERROR"=>"La sesión ha caducado, verifique."));                
    exit();
}
//--- Valido el controlador
require_once('../modelo/OrdTrabajo.php');

if($_POST["controlador"]==null){
    echo json_encode(array("ERROR"=>"Por favor Indicar el nombre del controlador Destino en el formulario para evitar conflictos con el 'Ruteo' de PHP."));
    return;
}elseif($_POST["controlador"]<>"OrdTrabajo"){
    return;
}



//-- realizo las operaciones
if ($_POST["OPERACION"] == "anularOrdTrabajoById"){
    $codUsuario=$_SESSION["SESSION_codUsuario"];
    $id=$_POST["id"];
    $host=php_uname('n');  //--- nombre del PC cliente
    $observaciones=$_POST["observaciones"];
    
    echo OrdTrabajo::anularOrdTrabajoById($codUsuario,$id,$host,$observaciones);
}
elseif ($_POST["OPERACION"] == "cerrarOrdTrabajoById"){
    $codUsuario=$_SESSION["SESSION_codUsuario"];
    $id=$_POST["id"];
    $host=php_uname('n');  //--- nombre del PC cliente
    $observaciones=$_POST["observaciones"];
    
    echo OrdTrabajo::cerrarOrdTrabajoById($codUsuario,$id,$host,$observaciones);
}
elseif ($_POST["OPERACION"] == "facturarOrdTrabajoById"){
    $codUsuario=$_SESSION["SESSION_codUsuario"];
    $id=$_POST["id"];
    $host=php_uname('n');  //--- nombre del PC cliente
    $observaciones=$_POST["observaciones"];
    $codFactura=$_POST["codFactura"];
    $valorFactura=$_POST["valorFactura"];    
    
    //--- valido la $valorFatura
    if($valorFactura=="" || !is_numeric($valorFactura)){
        echo json_encode(array("ERROR"=>"El valor de la Factura NO es valido, verifique."));
        exit();
    }
    if($valorFactura<0){
        echo json_encode(array("ERROR"=>"El valor de la Factura no puede ser negativo, verifique."));
        exit();
    }
    
    echo OrdTrabajo::facturarOrdTrabajoById($codUsuario,$id,$host,$observaciones,$codFactura,$valorFactura);
}
elseif ($_POST["OPERACION"] == "insert"){
    $codUsuario=$_SESSION["SESSION_codUsuario"];
    $activo=true;            
    $codOrdTrabajo=$_POST["codOrdTrabajo"];
    $codOperacionInterna=$_POST["codOperacionInterna"];
    $codResponsable=$_POST["codResponsable"];
    $codMaeOperacionTipo=$_POST["codMaeOperacionTipo"];
    $codMaeOperacionPuerto=$_POST["codMaeOperacionPuerto"];
    $codMaeCliente1=$_POST["codMaeCliente1"];
    $codMaeCliente2=$_POST["codMaeCliente2"];
    $fechaRegistro=$_POST["fechaRegistro"];
    $estado="ACTIVA";    
    $codMaeOperacionIdent   =$_POST["codMaeOperacionIdent"];
    $cantidad               =$_POST["cantidad"];
    $observaciones          =$_POST["observaciones"];
    $consignatario          =$_POST["consignatario"];
        
    //---inicializo los campos deacuerdo al tipo de operacion deacuerto a la ident. de Operacion que se seleccione
    if($codMaeOperacionIdent==="CONT"){
        $numero                 =$_POST["numero"];
        $codMaeContenedorTipo   =$_POST["codMaeContenedorTipo"];
        $codMaeMercanciaTipo    ="";           
        $codMaeContenedorTamano =$_POST["codMaeContenedorTamano"];
    }elseif($codMaeOperacionIdent==="CSUE"){
        $numero                 ="";
        $codMaeContenedorTipo   ="";
        $codMaeMercanciaTipo    =$_POST["codMaeMercanciaTipo"];           
        $codMaeContenedorTamano ="";
    }else{
        $numero                 ="";
        $codMaeContenedorTipo   ="";
        $codMaeMercanciaTipo    ="";           
        $codMaeContenedorTamano ="";
    }

    //---Valido los campos deacuerdo al tipo de operacion deacuerto a la ident. de Operacion que se seleccione
    if($codMaeOperacionIdent==="CONT"){
        if($numero==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Numero del servicio\"."));
            exit();
        }elseif($codMaeContenedorTipo==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Tipo de Contenedor\"."));
            exit();
        }elseif($codMaeContenedorTamano==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Tamano del contenedor\"."));
            exit();
        }
    }elseif($codMaeOperacionIdent==="CSUE"){
        if($codMaeMercanciaTipo==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Tipo de mercancia\"."));
            exit();
        }
    }
    
    //--- valido la cntidad
    if($cantidad==""){
        $cantidad="0";
    }
    
    if(!is_numeric($cantidad)){
        echo json_encode(array("ERROR"=>"La cantidad Indicada NO es valida, verifique."));
        exit();
    }
    if($cantidad<0){
        echo json_encode(array("ERROR"=>"La cantidad no puede ser negativa, verifique."));
        exit();
    }

    echo OrdTrabajo::insert($codUsuario,$activo,$codOrdTrabajo,$codOperacionInterna,$codResponsable,$codMaeOperacionTipo,$codMaeOperacionPuerto,$codMaeCliente1,$codMaeCliente2,$fechaRegistro,$estado,$consignatario,$codMaeOperacionIdent,$numero,$codMaeContenedorTipo,$codMaeMercanciaTipo,$observaciones,$codMaeContenedorTamano,$cantidad);
}
elseif ($_POST["OPERACION"] == "update"){
    $id=$_POST["id"];
    $codUsuario=$_SESSION["SESSION_codUsuario"];
    $activo=true;            
    $codOrdTrabajo=$_POST["codOrdTrabajo"];
    $codOperacionInterna=$_POST["codOperacionInterna"];
    $codResponsable=$_POST["codResponsable"];
    $codMaeOperacionTipo=$_POST["codMaeOperacionTipo"];
    $codMaeOperacionPuerto=$_POST["codMaeOperacionPuerto"];
    $codMaeCliente1=$_POST["codMaeCliente1"];
    $codMaeCliente2=$_POST["codMaeCliente2"];
    $fechaRegistro=$_POST["fechaRegistro"];
    //$estado="ACTIVA";    
    $codMaeOperacionIdent   =$_POST["codMaeOperacionIdent"];
    $cantidad               =$_POST["cantidad"];
    $observaciones          =$_POST["observaciones"];
    $consignatario          =$_POST["consignatario"];
        
    //---inicializo los campos deacuerdo al tipo de operacion deacuerto a la ident. de Operacion que se seleccione
    if($codMaeOperacionIdent==="CONT"){
        $numero                 =$_POST["numero"];
        $codMaeContenedorTipo   =$_POST["codMaeContenedorTipo"];
        $codMaeMercanciaTipo    ="";           
        $codMaeContenedorTamano =$_POST["codMaeContenedorTamano"];
    }elseif($codMaeOperacionIdent==="CSUE"){
        $numero                 ="";
        $codMaeContenedorTipo   ="";
        $codMaeMercanciaTipo    =$_POST["codMaeMercanciaTipo"];           
        $codMaeContenedorTamano ="";
    }else{
        $numero                 ="";
        $codMaeContenedorTipo   ="";
        $codMaeMercanciaTipo    ="";           
        $codMaeContenedorTamano ="";
    }

    //---Valido los campos deacuerdo al tipo de operacion deacuerto a la ident. de Operacion que se seleccione
    if($codMaeOperacionIdent==="CONT"){
        if($numero==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Numero del servicio\"."));
            exit();
        }elseif($codMaeContenedorTipo==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Tipo de Contenedor\"."));
            exit();
        }elseif($codMaeContenedorTamano==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Tamano del contenedor\"."));
            exit();
        }
    }elseif($codMaeOperacionIdent==="CSUE"){
        if($codMaeMercanciaTipo==""){
            echo json_encode(array("ERROR"=>"Debe Diligenciar el campo \"Tipo de mercancia\"."));
            exit();
        }
    }
    
    //--- valido la cntidad
    if($cantidad==""){
        $cantidad="0";
    }
    
    if(!is_numeric($cantidad)){
        echo json_encode(array("ERROR"=>"La cantidad Indicada NO es valida, verifique."));
        exit();
    }
    if($cantidad<0){
        echo json_encode(array("ERROR"=>"La cantidad no puede ser negativa, verifique."));
        exit();
    }
    echo OrdTrabajo::update($codUsuario,$id,$activo,$codOrdTrabajo,$codOperacionInterna,$codResponsable,$codMaeOperacionTipo,$codMaeOperacionPuerto,$codMaeCliente1,$codMaeCliente2,$fechaRegistro,$consignatario,$codMaeOperacionIdent,$numero,$codMaeContenedorTipo,$codMaeMercanciaTipo,$observaciones,$codMaeContenedorTamano,$cantidad);
}
elseif ($_POST["OPERACION"] == "selectById"){
    $id=$_POST["id"];
    echo OrdTrabajo::selectById($id);
}
elseif ($_POST["OPERACION"] == "selectAllHTMLTableFormat"){
    
    $numPagina=(!isset($_POST["numPagina"]) ? 0 : $_POST["numPagina"] );
    $registrosPorPagina=(!isset($_POST["registrosPorPagina"]) ? -1 : $_POST["registrosPorPagina"] );
    $campoFiltroOrden=(!isset($_POST["campoFiltroOrden"]) ? "" : $_POST["campoFiltroOrden"] );
    $valorFiltro=(!isset($_POST["valorFiltro"]) ? "" : $_POST["valorFiltro"] );
    
    echo OrdTrabajo::selectAllHTMLTableFormat($numPagina,$registrosPorPagina,$campoFiltroOrden,$valorFiltro);
}

?>
